
import {
  withdrawRequest
} from '../../api/user'

Page({

  data: {
    maxAmount: 0,
    zfb_account: '',
    zfb_name: '',
    zfb_amount: 0,
    // 跑马灯数据
    // notice_content:'公告字幕滚动播放（文字跑马灯效果）,使用动画和定时器完成，代码片段是一种迷你、可分享的小程序或小游戏项目，可用于分享小程序和小游戏的开发经验',
    notice_content: '温馨提示:请谨慎填写支付宝实名认证的账号和姓名,提现申请提交后不可撤回,最终解释权归贝优阁所有',
    animationData: {}, //公告动画
  },

  onLoad: function (options) {
    tt.setNavigationBarColor({
      frontColor: "#ffffff",
      backgroundColor: "beige",
      success(res) {
        console.log(res);
      },
      fail(res) {
        console.log("setNavigationBarColor调用失败");
      },
    });

    this.setData({
      maxAmount: options.money,
    });

    this.setupNotice();
  },

  detail() {
    tt.navigateTo({
      url: '../withdrawList/withdrawList'
    });
  },

  /** 输入监听 */
  onAccountChange(event) {
    this.setData({
      zfb_account: event.detail.value,             // 用户账号
    })
  },
  onNameChange(event) {
    this.setData({
      zfb_name: event.detail.value,               // 用户姓名
    })
    // tt.setStorageSync('withdrawName', event.detail.value);
  },
  onMoneyChange(event) {
    this.setData({
      zfb_amount: Number(event.detail.value),              // 用户提现金额
    })
    // tt.setStorageSync('withdrawPhone', event.detail.value);
  },

  submitAction: function () {
    if (this.data.zfb_name == "") {
      tt.showToast({
        title: "请输入支付宝账号姓名",
        duration: 2000,
      });
      return;
    }
    if (this.zfb_account == "") {
      tt.showToast({
        title: "请输入支付宝账号",
        duration: 2000,
      });
      return;
    }
    if (this.zfb_amount == "") {
      tt.showToast({
        title: "请输入提现金额",
        duration: 2000,
      });
      return;
    }
    if (this.zfb_amount < 1) {
      tt.showToast({
        title: "提现金额不能小于等于0",
        duration: 2000,
      });
      return;
    }
    if (this.zfb_amount > this.maxAmount) {
      tt.showToast({
        title: "当前可提现金额为" + this.data.maxAmount,
        duration: 2000,
      });
      return
    }

    let that = this
    /** 参数payId 输入的账号  realName 真实姓名 amount 金额 */
    let params = {
      payId: this.data.zfb_account,
      realName: this.data.zfb_name,
      amount: this.data.zfb_amount,
    };
    console.log(params)
    withdrawRequest(params).then((res) => {
      console.log('payReFundRequest请求成功')
      that.setData({
        maxAmount: (that.data.maxAmount - Number(that.data.zfb_amount)).toFixed(2)
      })
      tt.showModal({
        title: '提现申请成功',
        content: '提现申请成功,一个工作日到账',
        showCancel: false,//是否显示取消按钮
        confirmText: "确认",//默认是“确定”
        confirmColor: 'linear-gradient(90deg, #FF7D7D 0%, #F34747 100%)',//确定文字的颜色
        success: function (res) {
          
        },
        fail: function (res) { },//接口调用失败的回调函数
        complete: function (res) { },//接口调用结束的回调函数（调用成功、失败都会执行）
      })
    }).catch((res) => {
      console.log('payReFundRequest请求失败')
      console.log(res)
      tt.showToast({
        title: res.data.msg,
        icon: 'none',
        duration: 2000
      })
    })
  },

  /** 配置跑马灯 */
  setupNotice: function () {
    let that = this;
    let reg = /[\u4e00-\u9fa5]/g;
    let text_con = that.data.notice_content;
    let textLen = text_con.length,
        textStrLen = text_con.match(reg).length;
        //计算有多少个,加一是为了避免内容没有全部离开显示框
    let hasStrLen = textStrLen + Math.ceil((textLen - textStrLen)/2)+1

    console.log(hasStrLen)
    let timeT = hasStrLen * 200
    console.log(timeT)
    //创建动画实例
    var animation = wx.createAnimation({
      //此处以公告最长内容来设置动画持续时间（duration：决定整个动画播放的速度）
      duration: timeT,
      timingFunction: 'linear'
    });
    // //偏移距离为公告内容的长度*字体大小（若字体大小使用rpx需要换算成px）
    animation.translate(-Number(hasStrLen * 13), 0).step();
    // animation.translate(-300, 0).step();
    that.setData({
      animationData: animation.export()
    });
    // 循环播放动画关键步骤（使用两个定时器）
    // 第一个定时器：将字幕恢复到字幕开始点（为屏幕左边）,时间比初始值小，重新给animation赋值，刷新文字
    that.t1 = setInterval(function () {
      animation = wx.createAnimation({
        //此处以公告最长内容来设置动画持续时间（duration：决定整个动画播放的速度）
        duration: timeT,
        timingFunction: 'linear'
      });
      animation.translate(0, 0).step({ duration: 0 });
      that.setData({
        animationData: animation.export()
      });
    }.bind(that), timeT -1);
    // 第二个定时器：重新开始移动动画,重置文本的位置
    that.t2 = setInterval(function () {
      animation.translate(-Number(hasStrLen * 13), 0).step();
      that.setData({
        animationData: animation.export()
      });
    }.bind(this), (timeT + 10) / 10);
  },
})